home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / TPEX.ZIP / C9REVEX5.PAS < prev    next >
Pascal/Delphi Source File  |  1993-09-05  |  3KB  |  81 lines

  1. {
  2. Programming in Turbo Pascal 6.0.
  3. Turbo Pascal By example By Greg Perry.
  4. Chapter 9 Review Exercise #5.
  5. Robert E. Wade        9-5-93
  6. }
  7.  
  8. PROGRAM PayCheck;
  9.  
  10. USES Crt, Printer;
  11.  
  12. CONST  Spc      = ' ';
  13.        Paydate  = '9-5-1993';
  14.  
  15. VAR    EmpName:          STRING[30];
  16.        HoursWorked:      REAL;
  17.        Rate:             REAL;
  18.        TaxRate:          REAL;
  19.        Taxes:            REAL;
  20.        NetPay:           REAL;
  21.  
  22. BEGIN
  23. CLRSCR;
  24.  
  25.            { Get data from user }
  26.  
  27.    WRITE( 'What is your Full Name? ');
  28.    READLN( EmpName );
  29.    WRITE( 'How many hours did you work? ');
  30.    READLN( HoursWorked );
  31.    WRITE( 'What is your hourly pay rate? ');
  32.    READLN( Rate );
  33.    WRITE( 'What is your tax rate (Use this format: 0.00)? ');
  34.    READLN( TaxRate );
  35.  
  36.            { Compute Taxes and Net Pay }
  37.  
  38.    Taxes := ( HoursWorked * Rate * TaxRate );
  39.    NetPay := ( HoursWorked * Rate - Taxes );
  40.  
  41.            { Print the check to screen (* I only sent it to
  42.              screen also because I do not have a printer *) }
  43.  
  44.    WRITELN;
  45.    WRITELN( 'Press ENTER to see the check printed...');
  46.    READLN;
  47.    WRITELN( '*****************************************************************' );
  48.    WRITELN( '*', Spc:63, '*' );
  49.    WRITELN( '*', Spc:40, 'Date: ', Paydate, Spc:9, '*' );
  50.    WRITELN( '*', Spc:63, '*' );
  51.    WRITELN( '* Pay to the Order of: ', EmpName, Spc:27, '*' );
  52.    WRITELN( '*', Spc:63, '*' );
  53.    WRITELN( '* Pay the full amount of: $', NetPay:10:2, Spc:27, '*' );
  54.    WRITELN( '*', Spc:26, '----------', Spc:27, '*' );
  55.    WRITELN( '*', Spc:63, '*' );
  56.    WRITELN( '*', Spc:39, '----------------------- *' );
  57.    WRITELN( '*', Spc:39, 'Dan Chambers, Treasurer *' );
  58.    WRITELN( '*', Spc:63, '*' );
  59.    WRITELN( '*****************************************************************' );
  60.  
  61.        { Send output to printer. Uncomment the following code
  62.          to send output to the printer. }
  63.  
  64. {
  65. WRITELN(LST, '*****************************************************************' );
  66. WRITELN(LST, '*', Spc:63, '*' );
  67. WRITELN(LST, '*', Spc:40, 'Date: ', Paydate, Spc:9, '*' );
  68. WRITELN(LST, '*', Spc:63, '*' );
  69. WRITELN(LST, '* Pay to the Order of: ', EmpName, Spc:27, '*' );
  70. WRITELN(LST, '*', Spc:63, '*' );
  71. WRITELN(LST, '* Pay the full amount of: $', GrossPay:10:2, Spc:27, '*' );
  72. WRITELN(LST, '*', Spc:26, '----------', Spc:27, '*' );
  73. WRITELN(LST, '*', Spc:63, '*' );
  74. WRITELN(LST, '*', Spc:39, '----------------------- *' );
  75. WRITELN(LST, '*', Spc:39, 'Dan Chambers, Treasurer *' );
  76. WRITELN(LST, '*', Spc:63, '*' );
  77. WRITELN(LST, '*****************************************************************' );
  78. }
  79. WRITELN( 'Press ENTER to continue...' );
  80. READLN;
  81. END.